查看原文
其他

一张图看懂 SQL 的各种 join 用法!

Java大后端 2019-11-02

作者:C.L. Moffatt

www.codeproject.com/Articles/33052

下图展示了 LEFT JOIN、RIGHT JOIN、INNER JOIN、OUTER JOIN 相关的 7 种用法。

具体分解如下:

1.INNER JOIN(内连接)


SELECT <select_list> 
FROM Table_A A
INNER JOIN Table_B B
ON A.Key = B.Key

2.LEFT JOIN(左连接)


SELECT <select_list>
FROM Table_A A
LEFT JOIN Table_B B
ON A.Key = B.Key

3.RIGHT JOIN(右连接)


SELECT <select_list>
FROM Table_A A
RIGHT JOIN Table_B B
ON A.Key = B.Key

4.OUTER JOIN(外连接)


SELECT <select_list>
FROM Table_A A
FULL OUTER JOIN Table_B B
ON A.Key = B.Key

5.LEFT JOIN EXCLUDING INNER JOIN(左连接-内连接)


SELECT <select_list> 
FROM Table_A A
LEFT JOIN Table_B B
ON A.Key = B.Key
WHERE B.Key IS NULL

6.RIGHT JOIN EXCLUDING INNER JOIN(右连接-内连接)


SELECT <select_list>
FROM Table_A A
RIGHT JOIN Table_B B
ON A.Key = B.Key
WHERE A.Key IS NULL

7.OUTER JOIN EXCLUDING INNER JOIN(外连接-内连接)


SELECT <select_list>
FROM Table_A A
FULL OUTER JOIN Table_B B
ON A.Key = B.Key
WHERE A.Key IS NULL OR B.Key IS NULL


——End——


最近热文:

1. Java的装箱和拆箱,你掌握到了第几层?

2. Spring Boot是如何实现自动配置的?

3. 一文横扫Java锁相关的所有知识点!

4. 缓存在高并发场景下的常见问题!

5. 15个优雅使用Docker的小技巧!


——长按关注Java大后端——

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存